From 05717d5f9e33ec80d5a8784cd48483be519ea673 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 31 Jul 2008 13:36:45 +0100 Subject: [PATCH] AMD IOMMU: Add deallocation for interrupt remapping table. Signed-off-by: Wei Wang --- xen/drivers/passthrough/amd/iommu_intr.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c index ef31c5dd6e..e6ade3a10b 100644 --- a/xen/drivers/passthrough/amd/iommu_intr.c +++ b/xen/drivers/passthrough/amd/iommu_intr.c @@ -107,7 +107,7 @@ static void update_intremap_entry_from_ioapic( return; } -int amd_iommu_setup_intremap_table(void) +int __init amd_iommu_setup_intremap_table(void) { unsigned long flags; @@ -203,3 +203,18 @@ void amd_iommu_msi_msg_update_ire( update_intremap_entry_from_msi_msg(iommu, pdev, msg); } + +int __init deallocate_intremap_table(void) +{ + unsigned long flags; + + spin_lock_irqsave(&int_remap_table_lock, flags); + if ( int_remap_table ) + { + free_xenheap_pages(int_remap_table, 1); + int_remap_table = NULL; + } + spin_unlock_irqrestore(&int_remap_table_lock, flags); + + return 0; +} -- 2.30.2